package com.huawei.csi.tool.util;

import com.huawei.csi.tool.config.GlobalConfig;
import javafx.scene.input.Clipboard;
import javafx.scene.input.ClipboardContent;

import java.util.Locale;

/**
 * @author lxw
 */
public class OSUtil {
    /**
     * 程序准备显示中文 还是 英语
     * <p>
     * 只要是非中文, 就显示英语
     */
    private static Boolean isEnglish;
    private static OS os;

    /**
     * 文本写入到剪切板
     */
    public static void writeToClipboard(String contentStr) {
        Clipboard clipboard = Clipboard.getSystemClipboard();
        ClipboardContent content = new ClipboardContent();
        content.putString(contentStr);
        clipboard.setContent(content);
    }

    /**
     * 系统默认软件显示文档
     */
    public static void showDoc(String fileUri) {
        GlobalConfig.hostServices.showDocument(fileUri);
    }

    public static boolean isEnglish() {
        if (isEnglish == null) {
            isEnglish = !Locale.CHINESE.getLanguage().equalsIgnoreCase(Locale.getDefault().getLanguage());
        }
        return isEnglish;
    }

    public static OS getOS() {
        if (os == null) {
            String systemStr = System.getProperty("os.name").toLowerCase();
            if (systemStr.contains("win")) {
                os = OS.WINDOWS;
            } else if (systemStr.contains("nix") || systemStr.contains("nux") || systemStr.contains("aix")) {
                os = OS.LINUX;
            } else if (systemStr.contains("mac")) {
                os = OS.MAC;
            } else {
                os = OS.UNKNOWN;
            }
        }
        return os;
    }

    public enum OS {
        //操作系统
        WINDOWS,
        LINUX,
        MAC,
        UNKNOWN
    }

}
